package com.sise.Str;

/**
 *      58. 最后一个单词的长度
 *
 *      给你一个字符串 s，由若干单词组成，单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词，请返回 0。
 *      单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
 *
 *      输入：s = "Hello World"
 *      输出：5
 */
public class _58_lengthOfLastWord {
    public int lengthOfLastWord(String s) {
        int end = s.length() - 1;
        while (end >= 0 && s.charAt(end) == ' ') end--;     // 去掉末尾的 ' ' 空格，因为有可能是 "hello world " 多了一个空格的情况
        if (end < 0) return 0;

        int start = end;
        while (start >= 0 && s.charAt(start) != ' ') start--;   // 新创建一个指针，从后往前遍历，直到遇见空格就停止，此时 end - start 的距离就是 字符串的长度
        return end - start;
    }
}
